iT邦幫忙

2024 iThome 鐵人賽

0
AI/ ML & Data

從「這次不會壞吧」到自動化的未來:從 DevOps 到 MLOps,改造模型佈署之旅系列 第 17

從「這次不會壞吧」到自動化的未來:17 模型版本控制 - Weight&Biases

  • 分享至 

  • xImage
  •  
  • 大致功能與 Tensorboard 相同,但是整合了更多的深度學習(Llamaindex、Langchain、HuggingFace…)與機器學習(Scikit-Learn、XGBoost….)開發工具,目前觀察下來相較於Tensorboard有更精美的UI,及更好的視覺體驗。
  • 支援上傳Artifact的檔案(訓練完成的模型,資料前處理的pickle檔….等等),以方便後續部署與版本控制
  • 針對模型部署提供極為方便的功能,能將實驗最好的模型進行註冊,以利後續開發鎖定模型版本,已有許多文章分享使用方式。
  • 注意:需要申請Weight&Biases 帳號,實驗紀錄會上傳至該帳號底下,需要確保網路順暢,因為需要將檔案上傳至Weight&Biases雲端儲存空間,每個人有免費的100G可以使用

https://ithelp.ithome.com.tw/upload/images/20241025/20169475hoULj124OC.jpg
圖片來源:https://wandb.ai/site

如何在Python開發環境使用,以及程式碼需要如何撰寫:

  1. 工具安裝:

    pip install wandb -qU

  2. 申請帳號 https://wandb.ai/home

    登入後,點選https://wandb.ai/authorize 取得 API key

  3. 程式碼撰寫:(以一個簡易的資料做示範)

    • 當程式執行到 wandb.login()時,會出現以下選擇,因為上一步已經先申請好帳號,所以這邊選 2

      Untitled

    • 接下來會要求輸入API key,API key的取得方式可以參考以上第二步

    import wandb
    wandb.login()
    import random
    
    # Launch 5 simulated experiments
    total_runs = 5
    for run in range(total_runs):
      # Start a new run to track this script
      wandb.init(
          # Set the project where this run will be logged
          project="basic-intro", 
          # We pass a run name (otherwise it’ll be randomly assigned, like sunshine-lollypop-10)
          name=f"experiment_{run}", 
          # Track hyperparameters and run metadata
          config={
          "learning_rate": 0.02,
          "architecture": "CNN",
          "dataset": "CIFAR-100",
          "epochs": 10,
          })
    
      # This simple block simulates a training loop logging metrics
      epochs = 10
      offset = random.random() / 5
      for epoch in range(2, epochs):
          acc = 1 - 2 ** -epoch - random.random() / epoch - offset
          loss = 2 ** -epoch + random.random() / epoch + offset
    
          # Log metrics from your script to W&B
          wandb.log({"acc": acc, "loss": loss})
    
      # Mark the run as finished
      wandb.finish()
    

https://ithelp.ithome.com.tw/upload/images/20241025/20169475vegCty4Pww.png
圖:Weight&Biases 結果

  • 上面範例簡單說明如何將實驗數據上傳至Weight&Biases雲端空間中,提供大家在開發上的參考,並將這些整合至模型訓練流程中。
  • 相較於Tensorboard他的功能有更加複雜,除了可以紀錄各項模型參數外,還有模型訓練loss(評估指標)曲線,還可以將模型上傳至雲端空間。
  • Weight&Biases主要以雲端儲存這些訓練參數與模型,每個帳號有100GB的免費空間,並不是完全免費

參考文獻
1.初探mlflow-tracking-保持ml實驗的可追溯性與可重現性-
2.Weights & Biases — ML 實驗數據追蹤

(撰稿工程師:顧祥龍)
完整內容 >> https://bit.ly/3AbUo0N
Line 官方帳號,看最新技術文章:https://user137910.pse.is/aif2024ironman


上一篇
從「這次不會壞吧」到自動化的未來:16 模型版本控制 - Tensorboard
下一篇
從「這次不會壞吧」到自動化的未來:18 模型版本控制 - MLflow
系列文
從「這次不會壞吧」到自動化的未來:從 DevOps 到 MLOps,改造模型佈署之旅22
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言